package com.acme.faturamento.model.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.TableGenerator;

/**
 * @author Reinaldo
 *
 */

@Entity
@Table(name = "notafiscal_itens")
@SequenceGenerator(name = "itemnf_sequence", sequenceName = "itemnf_id_seq")
@TableGenerator(name = "itemnf_id", table = "chaves_primarias", pkColumnName = "chave", pkColumnValue = "notafiscal_itens", valueColumnName = "valor")

public class ItemNotaFiscal implements Serializable {
    private Long id;
    private Produto produto;
    private BigDecimal precoUnitario;
    private Double quantidade;
    private BigDecimal vlrDesconto;
    private BigDecimal valorTotal;
    private BigDecimal icms;
    private BigDecimal iss;

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "itemnf_sequence")
    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public BigDecimal getPrecoUnitario() {
        return precoUnitario;
    }

    public void setPrecoUnitario(BigDecimal precoUnitario) {
        this.precoUnitario = precoUnitario;
    }

    @ManyToOne
    public Produto getProduto() {
        return produto;
    }

    public void setProduto(Produto produto) {
        this.produto = produto;
    }

    public Double getQuantidade() {
        return quantidade;
    }

    public void setQuantidade(Double quantidade) {
        this.quantidade = quantidade;
    }

    public BigDecimal getValorTotal() {
        return valorTotal;
    }

    public void setValorTotal(BigDecimal valorTotal) {
        this.valorTotal = valorTotal;
    }

    public BigDecimal getVlrDesconto() {
        return vlrDesconto;
    }

    public void setVlrDesconto(BigDecimal vlrDesconto) {
        this.vlrDesconto = vlrDesconto;
    }

    public BigDecimal getIcms() {
        return icms;
    }

    public void setIcms(BigDecimal icms) {
        this.icms = icms;
    }

    public BigDecimal getIss() {
        return iss;
    }

    public void setIss(BigDecimal iss) {
        this.iss = iss;
    }
}
